Matthias Clasen [Fri, 30 Oct 2020 19:26:37 +0000 (15:26 -0400)]
gtk-demo: Tweak descriptions of constraints demos
Make these a little longer, and include more details.
Matthias Clasen [Fri, 30 Oct 2020 18:59:08 +0000 (14:59 -0400)]
constraintlayout: Make sure guides get their constraints
When using GtkBuilder to create constraints and guides,
the layout manager is already rooted when the guides get
created, and we were forgetting to create the guides
constraints in this case. Fix it by adding a call to
gtk_constraint_guide_update().
This was showing up in the new builder-based constraints
demo as the guide not having the expected effect.
Matthias Clasen [Fri, 30 Oct 2020 18:57:58 +0000 (14:57 -0400)]
constraintlayout: Emit less change notification
This isn't strictly required for correctness, but
it makes the GtkBuilder codepath do the same that
the vfl codepath does: call gtk_layout_manager_layout_changed
only once, after all the constraints have been added.
Matthias Clasen [Fri, 30 Oct 2020 16:33:59 +0000 (12:33 -0400)]
gtk-demo: Tweak the new constraints demo
With these somewhat random ordering changes, things get
closer to working the same as the code example. Still,
the guide doesn't work right.
Matthias Clasen [Fri, 30 Oct 2020 04:23:45 +0000 (00:23 -0400)]
constraintlayout: Fix parsing from ui file
Guides were not properly looked up when creating
constraints in a ui file.
Matthias Clasen [Fri, 30 Oct 2020 04:22:47 +0000 (00:22 -0400)]
Add another constraints demo
This one attempts to use constraints in a ui file.
It doesn't work.
Matthias Clasen [Fri, 30 Oct 2020 18:56:07 +0000 (14:56 -0400)]
gtk-demo: Remove unnecessary code
I was distracted by this code that sets names
on widgets in the constraints demo - the names
aren't used and aren't needed, so remove them.
Matthias Clasen [Thu, 29 Oct 2020 18:58:12 +0000 (14:58 -0400)]
docs: Add details for gsk_renderer_new_for_surface
Mention the GSK_RENDERER variable here.
Matthias Clasen [Thu, 29 Oct 2020 22:21:32 +0000 (18:21 -0400)]
NEWS: Updates
Matthias Clasen [Thu, 29 Oct 2020 18:55:53 +0000 (18:55 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2760
Matthias Clasen [Thu, 29 Oct 2020 18:33:13 +0000 (18:33 +0000)]
Merge branch 'wip/chergert/gdk-macos-gl-renderer' into 'master'
macos: implement GL rendering on with Cairo renderer
See merge request GNOME/gtk!2759
Matthias Clasen [Thu, 29 Oct 2020 18:19:12 +0000 (14:19 -0400)]
docs: Some restructuring
Give the GDK docs some more structure.
Matthias Clasen [Thu, 29 Oct 2020 18:00:24 +0000 (14:00 -0400)]
docs: Tweak GdkToplevel docs
Matthias Clasen [Thu, 29 Oct 2020 18:00:13 +0000 (14:00 -0400)]
docs: Tweak GdkPopup docs
Matthias Clasen [Thu, 29 Oct 2020 17:57:22 +0000 (13:57 -0400)]
docs: Tweak GdkSurface docs
Add more details, and refer to the GdkToplevel / GdkPopup
docs.
Matthias Clasen [Thu, 29 Oct 2020 17:57:00 +0000 (13:57 -0400)]
docs: Tweak frame clock docs
Matthias Clasen [Thu, 29 Oct 2020 17:41:10 +0000 (13:41 -0400)]
docs: Small additions for GdkCursor docs
Matthias Clasen [Thu, 29 Oct 2020 17:36:26 +0000 (13:36 -0400)]
docs: Cosmetics
Make the GdkRGBA heading less repetitive.
Matthias Clasen [Thu, 29 Oct 2020 17:28:03 +0000 (13:28 -0400)]
docs: Tweak GdkPaintable docs
Minor additions here and there.
Matthias Clasen [Thu, 29 Oct 2020 17:16:49 +0000 (13:16 -0400)]
docs: Add some detail to GdkTexture docs
Minor additions here and there.
Matthias Clasen [Thu, 29 Oct 2020 17:06:08 +0000 (13:06 -0400)]
gdk: Drop GdkPoint from the api
This typedef was not used in any public APIs, and is
only used in the MacOS backend. It is not worth preserving
as public API, move it to the only user.
Matthias Clasen [Thu, 29 Oct 2020 16:35:28 +0000 (12:35 -0400)]
docs: Include GDK_WINDOWING_MACOS
We no longer have a Quartz backend, it is called
MacOS now.
Matthias Clasen [Thu, 29 Oct 2020 11:40:48 +0000 (07:40 -0400)]
docs: Stop referring to the Quartz backend
Its MacOS now.
Christian Hergert [Thu, 29 Oct 2020 17:33:22 +0000 (10:33 -0700)]
macos: implement GL context
This implements the basics for a GdkGLContext on macOS. Currently, rendering
only is fully working for the GskCairoRenderer case where we read back pixels
into a cairo surface for rendering. More work on synchronization is required for
the GL on GskGLRenderer case.
When we attempt to render a surface itself with GL, the context will ensure that
the new GdkMacosGLView is placed within the NSWindow. In other cases, we
use a dummy NSView and NSWindow for backing the NSOpenGLContext to
ensure that we can get accelerated drawing.
This gets GtkGLArea working when running with GSK_RENDERER=cairo.
Christian Hergert [Thu, 29 Oct 2020 17:30:41 +0000 (10:30 -0700)]
macos: tweak gravity while resizing
This helps a situation where the window contents has not changed
in time for a drawing. Setting the texture gravity helps that side or
corner to be less jittery while moving.
Ideally, we can get to a point where we are synchronized and keeping
up with drawing fast enough to not need this. That may require some
work to drive frame clocks from drawRect: though.
Christian Hergert [Thu, 29 Oct 2020 16:46:02 +0000 (09:46 -0700)]
macos: be tolerant of NULL GL context
Some code appears to unconditionally attempt to make the context current,
so this makes things tolerant to a NULL GdkGLContext and just return FALSE.
Christian Hergert [Thu, 29 Oct 2020 16:37:33 +0000 (09:37 -0700)]
glsl: tweak pre-processor to support Apple GLSL compiler
The Apple GLSL compiler cannot deal with empty pre-processor blocks such as
#if GSK_GLES
#elif GSK_LEGACY
Christian Hergert [Thu, 29 Oct 2020 16:36:22 +0000 (09:36 -0700)]
macos: remove unused GL layer
This isn't being used, and instead we'll go the route of a NSView for
the OpenGL implementation.
Christian Hergert [Thu, 29 Oct 2020 16:33:59 +0000 (09:33 -0700)]
macos: move setNeedsDisplay helper to GdkMacosCairoView
This isn't needed in the base class, which will eventually get a GL subclass.
Matthias Clasen [Thu, 29 Oct 2020 15:50:01 +0000 (15:50 +0000)]
Merge branch 'wip/chergert/gdk-remove-texture_from_surface' into 'master'
gl: remove unused texture_from_surface API
See merge request GNOME/gtk!2756
Christian Hergert [Wed, 28 Oct 2020 23:49:55 +0000 (16:49 -0700)]
gl: remove unused texture_from_surface API
This is not used anywhere and only exists within the X11 backend. It
can be removed now.
Matthias Clasen [Thu, 29 Oct 2020 11:40:30 +0000 (07:40 -0400)]
Cosmetics
Whitespace fix.
Matthias Clasen [Thu, 29 Oct 2020 11:21:30 +0000 (11:21 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
textview: Update child allocations
See merge request GNOME/gtk!2757
Matthias Clasen [Thu, 29 Oct 2020 00:18:54 +0000 (20:18 -0400)]
textview: Update child allocations
This was accidentally lost when display line caching
was introduced.
Piotr Drąg [Wed, 28 Oct 2020 14:12:01 +0000 (15:12 +0100)]
Update POTFILES.skip
Matthias Clasen [Tue, 27 Oct 2020 22:38:58 +0000 (22:38 +0000)]
Merge branch 'wip/baedert/for-master' into 'master'
Wip/baedert/for master
Closes #3282
See merge request GNOME/gtk!2755
Matthias Clasen [Tue, 27 Oct 2020 20:41:34 +0000 (20:41 +0000)]
Merge branch 'dropdown-checkmark' into 'master'
Dropdown checkmark
Closes #3291
See merge request GNOME/gtk!2754
Matthias Clasen [Tue, 27 Oct 2020 20:13:44 +0000 (16:13 -0400)]
gtk-demo: Add checkmarks to all dropdown demos
This follows the mockups that these demos are
copied from. Unfortunately, it has to be implemented
for every item factory, so we repeat it here.
Fixes: #3291
Matthias Clasen [Tue, 27 Oct 2020 16:17:37 +0000 (12:17 -0400)]
dropdown: Add a checkmark to the selected item
Make the default factory add a checkmark to the
currently selected item (not the hovered item)
in the popup. This will unfortunately have to be
done in non-default factories too.
Related: #3291
Matthias Clasen [Tue, 27 Oct 2020 19:35:34 +0000 (15:35 -0400)]
dropdown: Make search entry shrink
We don't want the popup to be wider than the button
if we can help it. The search entry does not need
to be very wide.
Matthias Clasen [Tue, 27 Oct 2020 18:24:43 +0000 (18:24 +0000)]
Merge branch 'matthiasc/atspi-child' into 'master'
Emit ChildrenChanged signal on hierarchy updates
See merge request GNOME/gtk!2752
Matthias Clasen [Tue, 27 Oct 2020 18:13:44 +0000 (18:13 +0000)]
Merge branch 'matthiasc/a11y-buildable' into 'master'
Implement accessible attributes for ui files
See merge request GNOME/gtk!2751
Benjamin Otte [Tue, 27 Oct 2020 16:27:10 +0000 (16:27 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
Wip/otte/for master
Closes #3295
See merge request GNOME/gtk!2748
Benjamin Otte [Tue, 27 Oct 2020 15:43:34 +0000 (16:43 +0100)]
cloudprint: Make compile without warnings
Benjamin Otte [Tue, 27 Oct 2020 15:16:16 +0000 (16:16 +0100)]
gtkmediafile: Use cubic volume function
Gstreamer suggests doing that.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1439
Fixes #3295
Jakub Steiner [Tue, 27 Oct 2020 12:55:33 +0000 (12:55 +0000)]
Merge branch 'wip/jimmac/gtk4-dropdown-papercuts' into 'master'
Adwaita: dropdown search box
See merge request GNOME/gtk!2747
Jakub Steiner [Thu, 22 Oct 2020 15:08:32 +0000 (17:08 +0200)]
Adwaita: dropdown search box
- have some whitespace around entry
Partial fix for https://gitlab.gnome.org/GNOME/gtk/-/issues/3291
Matthias Clasen [Tue, 27 Oct 2020 05:05:33 +0000 (05:05 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2746
Matthias Clasen [Tue, 27 Oct 2020 04:51:00 +0000 (04:51 +0000)]
Merge branch 'popover-menu-custom-child' into 'master'
popovermenu: Allow custom items
Closes #3260
See merge request GNOME/gtk!2728
Matthias Clasen [Tue, 27 Oct 2020 04:42:38 +0000 (00:42 -0400)]
docs: Add GtkOverlay to the widget gallery
Matthias Clasen [Tue, 27 Oct 2020 04:24:54 +0000 (00:24 -0400)]
docs: Add box, grid and center box to the gallery
Matthias Clasen [Mon, 26 Oct 2020 12:21:52 +0000 (08:21 -0400)]
modelbutton: Explicitly set up LABELLED-By relation
GTK does this automatically based on mnemonics, but only
if the string actually contains a mnemonic. This makes
orca read out menuitems, as expected.
Matthias Clasen [Mon, 26 Oct 2020 16:58:23 +0000 (12:58 -0400)]
widget-factory: Add a scale to the gear menu
This tests the custom menuitem support, and lets you
control the transition duration for the main stack.
Matthias Clasen [Mon, 26 Oct 2020 17:21:28 +0000 (13:21 -0400)]
popovermenu: Allow adding custom items in ui files
Support <child type="ID"> to fill custom child slots
in both GtkPopoverMenus and GtkPopoverMenuBars that
are created in ui files.
Matthias Clasen [Tue, 20 Oct 2020 18:26:45 +0000 (14:26 -0400)]
popovermenu: Allow custom items
Add a way to add children at certain places in
the generated menu for both GtkPopoverMenu and
GtkPopoverMenuBar.
New apis:
gtk_popover_menu_add_child
gtk_popover_menu_remove_child
gtk_popover_menu_bar_add_child
gtk_popover_menu_bar_remove_child
Fixes: #3260
Matthias Clasen [Mon, 26 Oct 2020 20:09:30 +0000 (20:09 +0000)]
Merge branch 'master' into 'master'
Fix the build with cups < 2.2.12
Closes #2968
See merge request GNOME/gtk!2744
Thomas Lange [Sat, 24 Oct 2020 11:16:40 +0000 (13:16 +0200)]
Fix the build with cups < 2.2.12
PPD_CUSTOM_UNKNOWN was introduced in cups 2.3.
and has been backported to 2.2.12.
Only handle it when we build against a new enough cups.
Fixes: #2968
Matthias Clasen [Mon, 26 Oct 2020 12:01:13 +0000 (08:01 -0400)]
Treat tristate as an enum when parsing
This makes it so that you have to explicitly specify
"true" and "false" for the checked state, but it
matches how this enumeration is meant to be used.
Matthias Clasen [Mon, 26 Oct 2020 05:28:43 +0000 (05:28 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2741
Matthias Clasen [Mon, 26 Oct 2020 05:07:54 +0000 (01:07 -0400)]
docs: Add GtkDrawingArea to the gallery
Matthias Clasen [Mon, 26 Oct 2020 04:56:28 +0000 (00:56 -0400)]
docs: Add GtkShortcutsWindow to the widget gallery
Matthias Clasen [Mon, 26 Oct 2020 04:30:24 +0000 (00:30 -0400)]
docs: Add GtkPopoverMenu to the widget gallery
Matthias Clasen [Mon, 26 Oct 2020 04:09:55 +0000 (00:09 -0400)]
docs: Add GtkPopover to the widget gallery
Matthias Clasen [Mon, 26 Oct 2020 03:57:12 +0000 (23:57 -0400)]
docs: Add GtkPopoverMenuBar to the gallery
Matthias Clasen [Mon, 26 Oct 2020 03:31:20 +0000 (23:31 -0400)]
docs: Add GtkExpander to the gallery
Matthias Clasen [Mon, 26 Oct 2020 03:18:51 +0000 (23:18 -0400)]
docs: Add GtkEmojiChooser to the gallery
To make this possible enable the doc shooter
to take screenshots of popovers.
Matthias Clasen [Mon, 26 Oct 2020 02:54:53 +0000 (22:54 -0400)]
docs: Redo the GtkColorChooserDialog gallery image
Show the new palette.
Matthias Clasen [Mon, 26 Oct 2020 02:52:17 +0000 (22:52 -0400)]
docs: Improve the GtkStackSidebar gallery image
Matthias Clasen [Mon, 26 Oct 2020 02:46:30 +0000 (22:46 -0400)]
docs: Tweak gallery layout
Now that the volume button image is small, move it
to a better place in its section. Improves the layout.
Matthias Clasen [Mon, 26 Oct 2020 02:42:40 +0000 (22:42 -0400)]
docs: Fix the GtkVolumeButton gallery image
Give up on showing the popup, we don't do that
for other buttons either.
Matthias Clasen [Mon, 26 Oct 2020 02:32:27 +0000 (22:32 -0400)]
docs: Add GtkCalendar to the gallery
It has been missing far too long.
Matthias Clasen [Mon, 26 Oct 2020 02:26:19 +0000 (22:26 -0400)]
docs: Improve the GtkMediaControls gallery image
Matthias Clasen [Mon, 26 Oct 2020 02:17:15 +0000 (22:17 -0400)]
docs: Improve the GtkVideo gallery image
Matthias Clasen [Mon, 26 Oct 2020 02:16:26 +0000 (22:16 -0400)]
docs: Tweak gallery layout
Improve the breaks in the container section.
Matthias Clasen [Mon, 26 Oct 2020 01:52:51 +0000 (21:52 -0400)]
docs: Shrink the editable label gallery image
Makes it fit better with the other entries.
Matthias Clasen [Mon, 26 Oct 2020 01:47:40 +0000 (21:47 -0400)]
docs: Some reordering in the gallery
Align things better.
Matthias Clasen [Mon, 26 Oct 2020 01:28:26 +0000 (21:28 -0400)]
docs: Work around GtkPicture growing
Make the GtkPicture gallery image stay within its
limits, by overpowering its request mode.
Matthias Clasen [Mon, 26 Oct 2020 01:10:12 +0000 (21:10 -0400)]
docs: Tweak gallery ordering
Move GtkSpinButton to the entries, where it
belongs, despite its name.
Matthias Clasen [Mon, 26 Oct 2020 01:07:12 +0000 (21:07 -0400)]
docs: Fix links from the gallery
It turns out gtk-doc can't even parse its own custom
links if you don't arrange for the <link> element to
on a single line, since it is just a glorified sed
script :(
Matthias Clasen [Mon, 26 Oct 2020 01:05:10 +0000 (21:05 -0400)]
docs: Add GtkWindowControls to the gallery
Matthias Clasen [Sun, 25 Oct 2020 23:29:00 +0000 (19:29 -0400)]
a11y: Add more tests
Test some of the attributes that GTK maintains
for every widget.
Matthias Clasen [Sun, 25 Oct 2020 17:01:44 +0000 (13:01 -0400)]
a11y: Add some parser tests
Checking basic support for acessible states, properties
and relations in ui files.
Matthias Clasen [Sun, 25 Oct 2020 16:43:26 +0000 (12:43 -0400)]
Remove erroneous preconditions
Tests found these functions to be non-working.
Matthias Clasen [Sun, 25 Oct 2020 16:38:52 +0000 (12:38 -0400)]
a11y: Reuse builder parsing for enums
No need to manually write all these parsing functions
when _gtk_builder_enum_from_string does exactly what
is needed here.
Matthias Clasen [Sun, 25 Oct 2020 16:20:55 +0000 (12:20 -0400)]
a11y: Parse booleans in ui files as expected
Accept the same syntax for booleans as GtkBuilder
does elsewhere.
Matthias Clasen [Sun, 25 Oct 2020 16:19:21 +0000 (12:19 -0400)]
builder: Expot _gtk_builder_boolean_from_string privately
When specifying accessible properties in ui files, it
is better to accept the same syntax for booleans as
elsewhere, so lets reuse this function.
Piotr Drąg [Sun, 25 Oct 2020 09:37:47 +0000 (10:37 +0100)]
Update Polish translation
Matthias Clasen [Sun, 25 Oct 2020 04:29:30 +0000 (00:29 -0400)]
scale: Set round-digits to -1 initially
This ensures that keybindings for small-step changes
work despite draw-value being FALSE now. This was
fallout from
8ca612c9664bf6f8ae7fe that showed up
as arrow keys not working anymore for the color scales
in the color chooser.
Matthias Clasen [Sun, 25 Oct 2020 00:57:54 +0000 (20:57 -0400)]
Cosmetics
Remove some comments that refer to no longer
existing menu code.
Matthias Clasen [Sun, 25 Oct 2020 03:55:56 +0000 (23:55 -0400)]
color editor: Add accessible labels
Add some labels to the controls in this dialog.
Matthias Clasen [Sun, 25 Oct 2020 03:12:36 +0000 (23:12 -0400)]
a11y: More State<>Change confusion
We should really avoid this needless duplication
- the 'state' is never stored anywhere.
Matthias Clasen [Sun, 25 Oct 2020 02:05:17 +0000 (22:05 -0400)]
a11y: Handle all cases for state change
Make state_change handle state changes for non-widgets,
and handle the cases for HIDDEN involving stack pages.
Matthias Clasen [Sun, 25 Oct 2020 02:04:26 +0000 (22:04 -0400)]
stack: Update HIDDEN a11y state for stack pages
This will let us handle additions and removals
in the AT-SPI backend.
Matthias Clasen [Sun, 25 Oct 2020 01:35:35 +0000 (21:35 -0400)]
Cosmetics
Make gtk_at_spi_root_child_changed take a
GtkAccessible for the child.
Matthias Clasen [Sun, 25 Oct 2020 01:10:01 +0000 (01:10 +0000)]
Merge branch 'meson-deps-continued' into 'master'
Turn more options into "feature"
See merge request GNOME/gtk!2708
Matthias Clasen [Sun, 25 Oct 2020 00:54:55 +0000 (20:54 -0400)]
stack: Don't transition when the visible child is remove
This is a corner-case, and it is causing crashes in
the shortcuts window, after
a11ab6c995a38fde0eba.
Matthias Clasen [Sat, 24 Oct 2020 19:26:12 +0000 (15:26 -0400)]
a11y: Redo child-added/-removed for toplevels
Instead of monitoring the list of toplevels, rely
on GtkWindow updating the HIDDEN state before windows
get removed. This is better, since we still have the
object available when it happens, so we can pass it
to the ATs.
Matthias Clasen [Sat, 24 Oct 2020 19:23:12 +0000 (15:23 -0400)]
window: Maintain accessible HIDDEN state
We want to use the HIDDEN state to control when
things get added and removed from the accessible
tree, so ensure that we a) set HIDDEN to true
initially for windows, and b) we update HIDDEN
when a window is shown or hidden.
The second part is handled by gtk_widget_hide
for other widgets, but hiding a window does not
always go through that code path.
Matthias Clasen [Sat, 24 Oct 2020 17:17:20 +0000 (13:17 -0400)]
a11y: Emit child notification when toplevels get hidden
When a toplevel window gets hidden (and not destroyed),
the frontend code set the HIDDEN state, and we need to
emit child notification when that happens.
Matthias Clasen [Sat, 24 Oct 2020 17:14:44 +0000 (13:14 -0400)]
a11y: Improve child index helpers
We need to use gtk_accessible_should_present() whenever we
calculate accessible tree positions, to avoid inconsistencies.
While we are at it, make these helpers usable for finding
the position of accesibles that are now ignored, by not
looking at should_present for the object itself. This will
be relevant when we calculate the position of objects whose
HIDDEN state changes.